// Mogry
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   sampler2D _sampler_01;
//   sampler2D _sampler_diffuseColor;
//   sampler2D _sampler_shininess;
//   sampler2D _sampler_specularColor;
//   float albedo;
//   float3 ambientColor;
//   float3 ambientLightColor;
//   float backLightEdge;
//   float cloudShadowAlpha;
//   sampler2D cloudShadowSampler;
//   float colorLimit;
//   samplerCUBE cubeReflectMap;
//   float drawEnvBlendRatio;
//   samplerCUBE drawEnvCubeBlurMap;
//   samplerCUBE drawEnvCubeMap;
//   sampler2D edgeControlFuzzColorMap;
//   float3 envMapColor;
//   float4 externalEdgeControlColor;
//   float externalReflectMapScale;
//   float4 fogColor;
//   float fresnelBias;
//   float fresnelInvDiffBias;
//   sampler2D fuzzColorMap;
//   float fuzzPower;
//   float3 grace00;
//   float3 grace10;
//   float3 grace11;
//   float3 grace1_1;
//   float3 grace20;
//   float3 grace21;
//   float3 grace22;
//   float3 grace2_1;
//   float3 grace2_2;
//   float3 latitudeParam;
//   bool light0bit0;
//   bool light0bit1;
//   bool light1bit0;
//   bool light1bit1;
//   bool light2bit0;
//   bool light2bit1;
//   bool light3bit0;
//   bool light3bit1;
//   float4 lightColors[4];
//   float4 lightDirections[4];
//   float4 lightParams[4];
//   float4 lightPositions[4];
//   sampler2D lightToneMap;
//   float4 modulateColor;
//   samplerCUBE reflectBlurMap;
//   float reflectBlurMask;
//   float3 reflectScale;
//   float reverseRatio;
//   float4 rootPos;
//   float3 scatterColor;
//   float4 shadowColor;
//   float4 shadowFadeParam;
//   sampler2D shadowMap;
//   float4 shadowOffset0[4];
//   float4 shadowOffset1[4];
//   float4 shadowProjMatrix0[4];
//   float4 shadowProjMatrix1[4];
//   float4 shadowProjMatrix2[4];
//   float4 shadowProjMatrix3[4];
//   float4 shadowSplitRange;
//   float specluarMaskingShadow;
//   float4 weatherOffset;
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   light0bit0               b8       1
//   light0bit1               b9       1
//   light1bit0               b10      1
//   light1bit1               b11      1
//   light2bit0               b12      1
//   light2bit1               b13      1
//   light3bit0               b14      1
//   light3bit1               b15      1
//   lightDirections          c21      4
//   lightPositions           c25      4
//   lightColors              c29      4
//   lightParams              c33      4
//   shadowOffset0            c37      4
//   shadowOffset1            c41      4
//   shadowProjMatrix0        c45      2
//   shadowProjMatrix1        c47      2
//   shadowProjMatrix2        c49      2
//   shadowProjMatrix3        c51      2
//   ambientLightColor        c53      1
//   fuzzPower                c54      1
//   backLightEdge            c55      1
//   scatterColor             c56      1
//   reverseRatio             c57      1
//   envMapColor              c58      1
//   grace00                  c59      1
//   grace1_1                 c60      1
//   grace10                  c61      1
//   grace11                  c62      1
//   grace2_2                 c63      1
//   grace2_1                 c64      1
//   grace20                  c65      1
//   grace21                  c66      1
//   grace22                  c67      1
//   shadowFadeParam          c68      1
//   shadowSplitRange         c69      1
//   shadowColor              c70      1
//   rootPos                  c71      1
//   latitudeParam            c72      1
//   ambientColor             c73      1
//   specluarMaskingShadow    c74      1
//   fogColor                 c75      1
//   reflectBlurMask          c76      1
//   drawEnvBlendRatio        c77      1
//   reflectScale             c78      1
//   fresnelBias              c79      1
//   fresnelInvDiffBias       c80      1
//   colorLimit               c81      1
//   albedo                   c82      1
//   externalEdgeControlColor c83      1
//   externalReflectMapScale  c84      1
//   weatherOffset            c85      1
//   cloudShadowAlpha         c86      1
//   modulateColor            c87      1
//   lightToneMap             s0       1
//   fuzzColorMap             s1       1
//   cubeReflectMap           s2       1
//   reflectBlurMap           s3       1
//   drawEnvCubeMap           s4       1
//   shadowMap                s5       1
//   drawEnvCubeBlurMap       s6       1
//   cloudShadowSampler       s7       1
//   edgeControlFuzzColorMap  s8       1
//   _sampler_diffuseColor    s9       1
//   _sampler_01              s10      1
//   _sampler_specularColor   s11      1
//   _sampler_shininess       s12      1
//
//
// Default values:
//
//   ambientLightColor
//     c53  = { 0, 0, 0, 0 };
//
//   fuzzPower
//     c54  = { 1, 0, 0, 0 };
//
//   backLightEdge
//     c55  = { -0.8, 0, 0, 0 };
//
//   scatterColor
//     c56  = { 1, 1, 1, 0 };
//
//   reverseRatio
//     c57  = { 1, 0, 0, 0 };
//
//   latitudeParam
//     c72  = { 1, 0, 1, 0 };
//
//   ambientColor
//     c73  = { 0, 0, 0, 0 };
//
//   specluarMaskingShadow
//     c74  = { 0, 0, 0, 0 };
//
//   fogColor
//     c75  = { 1, 1, 1, 0 };
//
//   reflectBlurMask
//     c76  = { 1, 0, 0, 0 };
//
//   drawEnvBlendRatio
//     c77  = { 1, 0, 0, 0 };
//
//   reflectScale
//     c78  = { 1, 1, 1, 0 };
//
//   fresnelBias
//     c79  = { 1, 0, 0, 0 };
//
//   fresnelInvDiffBias
//     c80  = { 0, 0, 0, 0 };
//
//   colorLimit
//     c81  = { 1, 0, 0, 0 };
//
//   albedo
//     c82  = { 0.5, 0, 0, 0 };
//
//   externalReflectMapScale
//     c84  = { 1, 0, 0, 0 };
//
//   cloudShadowAlpha
//     c86  = { 1, 0, 0, 0 };
//
//   modulateColor
//     c87  = { 1, 1, 1, 1 };
//

    ps_3_0
    def c0, 0.949999988, 100, 1, 3
    def c1, 0.5, 0.429042995, 0.743125021, 0.886227012
    def c2, 0.247707993, 0.85808599, 1.02332795, 0.100000001
    def c3, 0.200000003, 0.300000012, 0.400000006, 0.25
    def c4, 1, 0, 0.25, 0.00249999994
    def c5, 0.00100000005, -0.125, -9.99999975e-005, -13.2877121
    def c6, 0.298999995, 0.587000012, 0.114, 0.349999994
    def c7, 9.99999997e-007, -0.5, 0.5, 2
    dcl_texcoord_pp v0.xyz
    dcl_texcoord2 v1.z
    dcl_texcoord1 v2.xyz
    dcl_texcoord3 v3.xyz
    dcl_texcoord4 v4
    dcl_texcoord6_pp v5
    dcl_2d s0
    dcl_2d s1
    dcl_cube s2
    dcl_cube s3
    dcl_cube s4
    dcl_2d s5
    dcl_cube s6
    dcl_2d s7
    dcl_2d s8
    dcl_2d s9
    dcl_2d s10
    dcl_2d s11
    dcl_2d s12
    texld_pp r0, v4, s9
    texld_pp r1, v4.zwzw, s10
    texld r2, v4, s11
    mul_sat_pp r1.yzw, r2.xxyz, c0.x
    texld r2, v4, s12
    mad_pp r0.w, r2.z, c0.y, c0.z
    texld r2, v4, s10
    mul_pp r2.x, r2.z, c0.w
    nrm_pp r3.xyz, v5
    nrm_pp r4.xyz, v3
    dp3 r2.z, r3, r4
    add r2.z, r2.z, r2.z
    mad_pp r5.xyz, r4, -r2.z, r3
    add r6, -c71.xyzx, v2.xyzx
    dp3 r2.z, r6.yzww, r6.yzww
    rsq r2.z, r2.z
    mul r6, r6, r2.z
    mad r6, r6, c1.x, r4.xyzx
    dp3 r2.z, r6.yzww, r6.yzww
    rsq r2.z, r2.z
    mul_pp r6, r6, r2.z
    mul_pp r7.xyz, r6.yzyw, r6.yzww
    mul_pp r2.zw, r6.z, r6.xyyw
    mov r8.yw, c1
    mul_pp r8.xyz, r8.y, c67
    mad_pp r3.w, r6.x, r6.x, -r7.x
    mul_pp r7.xyw, r7.y, c65.xyzz
    mul_pp r7.xyw, r7, c1.z
    mad_pp r7.xyw, r8.xyzz, r3.w, r7
    mad_pp r7.xyw, c59.xyzz, r8.w, r7
    mov r8.xw, c2
    mad_pp r7.xyw, c65.xyzz, -r8.x, r7
    mul_pp r8.xyz, r2.w, c66
    mad_pp r8.xyz, c63, r7.z, r8
    mad_pp r8.xyz, c64, r2.z, r8
    mad_pp r7.xyz, r8, c2.y, r7.xyww
    mul_pp r8.xyz, r6.y, c60
    mad_pp r6.xyw, c62.xyzz, r6.w, r8.xyzz
    mad_pp r6.xyz, c61, r6.z, r6.xyww
    mad_pp r6.xyz, r6, c2.z, r7
    mul_pp r6.xyz, r6, c82.x
    mul_pp r6.xyz, r6, c58
    texld_pp r7, r5, s2
    texld_pp r9, r5, s3
    lrp_pp r10, c76.x, r7, r9
    texld_pp r7, r5, s4
    texld r9, r5, s6
    lrp_pp r11, c76.x, r7, r9
    lrp_pp r7, c77.x, r10, r11
    dp3_pp r2.z, -r3, r4
    mov r8.z, c0.z
    abs_sat_pp r2.w, r2.z
    add r2.w, -r2.w, c0.z
    mul r3.w, r2.w, r2.w
    mul r3.w, r3.w, r3.w
    mul_pp r2.w, r2.w, r3.w
    lrp_sat_pp r3.w, r2.w, r8.z, c79.x
    mul_pp r2.x, r2.x, r3.w
    add_pp r2.w, -r3.w, c80.x
    add_sat_pp r2.w, r2.w, c0.z
    mul_pp r2.x, r2.x, c84.x
    mul_pp r7.xyz, r7.w, r7
    mul_pp r7.xyz, r7, c78
    mul_pp r7.xyz, r2.x, r7
    mad_sat_pp r0.xyz, r0, r2.w, r7
    mul r7, c47, v2.y
    mad r7, v2.x, c45, r7
    mad r7, v2.z, c49, r7
    add r7, r7, c51
    rcp r2.x, r7.w
    mul r7.xy, r7, r2.x
    mul r9, c48, v2.y
    mad r9, v2.x, c46, r9
    mad r9, v2.z, c50, r9
    add r9, r9, c52
    rcp r2.x, r9.w
    mul r9.xy, r9, r2.x
    add_pp r2.x, r8.w, c69.x
    add r2.x, r2.x, -v1.z
    add r8.xyw, r9.xyzz, c41.xyzz
    add r10.xyz, r7, c37
    cmp r8.xyw, r2.x, r10.xyzz, r8
    add_pp r2.x, c69.x, -v1.z
    add r10.xyz, r2.x, c3
    add r11.xyz, r9, c42
    add r12.xyz, r7, c38
    cmp r11.xyz, r10.x, r12, r11
    add r12.xyz, r9, c43
    add r13.xyz, r7, c39
    cmp r10.xyw, r10.y, r13.xyzz, r12.xyzz
    add r9.xyz, r9, c44
    add r7.xyz, r7, c40
    cmp r7.xyz, r10.z, r7, r9
    texld r9, r8, s5
    add r2.x, -r8.w, r9.x
    cmp_pp r2.x, r2.x, c4.x, c4.y
    texld r9, r11, s5
    add r2.w, -r11.z, r9.x
    cmp_pp r2.w, r2.w, c4.x, c4.y
    add_pp r2.x, r2.x, r2.w
    texld r9, r10, s5
    add r2.w, -r10.w, r9.x
    cmp_pp r2.w, r2.w, c4.x, c4.y
    add_pp r2.x, r2.x, r2.w
    texld r9, r7, s5
    add r2.w, -r7.z, r9.x
    cmp_pp r2.w, r2.w, c4.x, c4.y
    add_pp r2.x, r2.x, r2.w
    mul_pp r2.w, r2.x, c3.w
    add_pp r3.w, -c68.x, v1.z
    mul_sat_pp r3.w, r3.w, c68.y
    mad r2.x, r2.x, -c4.z, c4.x
    mad_sat_pp r2.x, r3.w, r2.x, r2.w
    mov r2.w, c4.w
    mad r7.xy, v2.xzzw, r2.w, c85
    texld r7, r7, s7
    mov r2.w, c85.w
    mul r2.w, r2.w, c86.x
    mad_pp r2.w, r7.y, -r2.w, c0.z
    min_pp r3.w, r2.w, r2.x
    lrp_pp r2.x, c68.w, c68.z, r3.w
    add_pp r2.x, -r2.x, c0.z
    mul_pp r0.xyz, r0, r0
    mul_pp r1.yzw, r1, r1
    mov_sat_pp r7.xyz, c73
    mad_pp r6.xyz, r7, r7, r6
    mov_sat_pp r7.xyz, c53
    mad_pp r6.xyz, r7, r7, r6
    mul_pp r6.xyz, r0, r6
    mad_pp r2.x, r2.x, -c70.w, r8.z
    if b8
      if b9
        add r7.xyz, -c25, v2
        dp3 r2.w, r7, r7
        rsq r2.w, r2.w
        rcp_pp r3.w, r2.w
        pow r4.w, r3.w, c33.z
        add_pp r3.w, -r3.w, c33.w
        max_pp r5.w, r3.w, c5.x
        mul r3.w, r4.w, c33.w
        rcp r3.w, r3.w
        mul_pp r3.w, r5.w, r3.w
        mul_pp r7.xyz, r7, r2.w
        dp3_pp r2.w, -c21, -r7
        add r2.w, r2.w, -c33.x
        add r4.w, -c33.x, c33.y
        rcp r4.w, r4.w
        mul_sat r2.w, r2.w, r4.w
        mul_pp r2.w, r3.w, r2.w
        dp3_pp r3.w, r4, -r7
        mad_pp r8.xyw, r3.xyzz, c55.x, -r7.xyzz
        dp3_pp r4.w, r8.xyww, r3
        dp3_sat_pp r5.w, r5, -r7
        mul_sat_pp r6.w, r3.w, c5.y
        mad_pp r6.w, r6.w, c57.x, r3.w
        add_pp r7.x, -r3_abs.w, c0.z
        max_pp r8.x, r7.x, c4.y
        mul_sat_pp r4.w, r4.w, r8.x
        add r7.x, r5.w, c5.z
        log_pp r5.w, r5.w
        cmp_pp r5.w, r7.x, r5.w, c5.w
        mul_pp r5.w, r0.w, r5.w
        exp_pp r5.w, r5.w
        mul_pp r7.xyz, r2.w, c29
        mov_sat r3.w, r3.w
        mul r2.w, r2.x, r3.w
        dp3_pp r3.w, r7, c6
        mul_pp r2.w, r2.w, r3.w
        mul_sat_pp r7.w, r2.x, r6.w
        add_pp r8.x, r6.w, c0.z
        mul_pp r8.y, r2.x, r8.x
        mad r8.x, r8.x, -r2.x, r8.x
        mad_pp r8.x, r8.x, c3.x, r8.y
        add_pp r8.x, r8.x, -c0.z
        mad_pp r8.x, r8.x, c1.x, c1.x
        add_pp r8.x, -r8.x, c0.z
        mov_pp r8.y, c1.x
        texld_pp r9, r8, s0
        lrp_pp r8.xyw, r2.y, r9.xyzz, r7.w
        mul_pp r9.xyz, r4.w, c56
        mov_sat_pp r6.w, -r6.w
        mul_pp r3.w, r3.w, r6.w
        mul_pp r3.w, r3.w, c57.x
        mul_pp r10.w, r3.w, c6.w
        mul_pp r9.xyz, r7, r9
        mad_pp r8.xyw, r7.xyzz, r8, r9.xyzz
        mul_pp r10.xyz, r2.x, r8.xyww
        mul_pp r7.xyz, r5.w, r7
        mul_pp r7.xyz, r2.x, r7
      else
        dp3_pp r3.w, r4, -c21
        mov_pp r8.x, c55.x
        mad_pp r8.xyw, r3.xyzz, r8.x, -c21.xyzz
        dp3_pp r4.w, r8.xyww, r3
        dp3_sat_pp r5.w, r5, -c21
        mul_sat_pp r6.w, r3.w, c5.y
        mad_pp r6.w, r6.w, c57.x, r3.w
        add_pp r7.w, -r3_abs.w, c0.z
        max_pp r8.x, r7.w, c4.y
        mul_sat_pp r4.w, r4.w, r8.x
        add r7.w, r5.w, c5.z
        log_pp r5.w, r5.w
        cmp_pp r5.w, r7.w, r5.w, c5.w
        mul_pp r5.w, r0.w, r5.w
        exp_pp r5.w, r5.w
        mov_sat r3.w, r3.w
        mul r3.w, r2.x, r3.w
        mov r9.xyz, c6
        dp3_pp r7.w, c29, r9
        mul_pp r2.w, r3.w, r7.w
        mul_sat_pp r3.w, r2.x, r6.w
        add_pp r8.x, r6.w, c0.z
        mul_pp r8.y, r2.x, r8.x
        mad r8.x, r8.x, -r2.x, r8.x
        mad_pp r8.x, r8.x, c3.x, r8.y
        add_pp r8.x, r8.x, -c0.z
        mad_pp r8.x, r8.x, c1.x, c1.x
        add_pp r8.x, -r8.x, c0.z
        mov_pp r8.y, c1.x
        texld_pp r9, r8, s0
        lrp_pp r8.xyw, r2.y, r9.xyzz, r3.w
        mul_pp r9.xyz, r4.w, c56
        mov_sat_pp r6.w, -r6.w
        mul_pp r3.w, r7.w, r6.w
        mul_pp r3.w, r3.w, c57.x
        mul_pp r10.w, r3.w, c6.w
        mul_pp r9.xyz, r9, c29
        mad_pp r8.xyw, c29.xyzz, r8, r9.xyzz
        mul_pp r10.xyz, r2.x, r8.xyww
        mul_pp r8.xyw, r5.w, c29.xyzz
        mul_pp r7.xyz, r2.x, r8.xyww
      endif
    else
      if b9
        add r8.xyw, -c25.xyzz, v2.xyzz
        dp3 r3.w, r8.xyww, r8.xyww
        rsq r3.w, r3.w
        rcp_pp r4.w, r3.w
        pow r5.w, r4.w, c33.z
        add_pp r4.w, -r4.w, c33.w
        max_pp r6.w, r4.w, c5.x
        mul r4.w, r5.w, c33.w
        rcp r4.w, r4.w
        mul_pp r4.w, r6.w, r4.w
        mul_pp r8.xyw, r8, r3.w
        dp3_pp r3.w, r4, -r8.xyww
        mad_pp r9.xyz, r3, c55.x, -r8.xyww
        dp3_pp r5.w, r9, r3
        dp3_sat_pp r6.w, r5, -r8.xyww
        mul_sat_pp r7.w, r3.w, c5.y
        mad_pp r7.w, r7.w, c57.x, r3.w
        add_pp r8.x, -r3_abs.w, c0.z
        max_pp r9.x, r8.x, c4.y
        mul_sat_pp r5.w, r5.w, r9.x
        add r8.x, r6.w, c5.z
        log_pp r6.w, r6.w
        cmp_pp r6.w, r8.x, r6.w, c5.w
        mul_pp r6.w, r0.w, r6.w
        exp_pp r6.w, r6.w
        mul_pp r8.xyw, r4.w, c29.xyzz
        mov_sat r3.w, r3.w
        mul r3.w, r2.x, r3.w
        dp3_pp r4.w, r8.xyww, c6
        mul_pp r2.w, r3.w, r4.w
        mul_sat_pp r3.w, r2.x, r7.w
        add_pp r9.x, r7.w, c0.z
        mul_pp r9.y, r2.x, r9.x
        mad r9.x, r9.x, -r2.x, r9.x
        mad_pp r9.x, r9.x, c3.x, r9.y
        add_pp r9.x, r9.x, -c0.z
        mad_pp r9.x, r9.x, c1.x, c1.x
        add_pp r9.x, -r9.x, c0.z
        mov_pp r9.y, c1.x
        texld_pp r9, r9, s0
        lrp_pp r11.xyz, r2.y, r9, r3.w
        mul_pp r9.xyz, r5.w, c56
        mov_sat_pp r7.w, -r7.w
        mul_pp r3.w, r4.w, r7.w
        mul_pp r3.w, r3.w, c57.x
        mul_pp r10.w, r3.w, c6.w
        mul_pp r9.xyz, r8.xyww, r9
        mad_pp r9.xyz, r8.xyww, r11, r9
        mul_pp r10.xyz, r2.x, r9
        mul_pp r8.xyw, r6.w, r8
        mul_pp r7.xyz, r2.x, r8.xyww
      else
        mov_pp r10, c4.y
        mov_pp r7.xyz, c4.y
        mov_pp r2.w, c4.y
      endif
    endif
    if b10
      if b11
        add r8.xyw, -c26.xyzz, v2.xyzz
        dp3 r3.w, r8.xyww, r8.xyww
        rsq r3.w, r3.w
        rcp_pp r4.w, r3.w
        pow r5.w, r4.w, c34.z
        add_pp r4.w, -r4.w, c34.w
        max_pp r6.w, r4.w, c5.x
        mul r4.w, r5.w, c34.w
        rcp r4.w, r4.w
        mul_pp r4.w, r6.w, r4.w
        mul_pp r8.xyw, r8, r3.w
        dp3_pp r3.w, -c22, -r8.xyww
        add r3.w, r3.w, -c34.x
        add r5.w, -c34.x, c34.y
        rcp r5.w, r5.w
        mul_sat r3.w, r3.w, r5.w
        mul_pp r3.w, r4.w, r3.w
        dp3_pp r4.w, r4, -r8.xyww
        mad_pp r9.xyz, r3, c55.x, -r8.xyww
        dp3_pp r5.w, r9, r3
        dp3_sat_pp r6.w, r5, -r8.xyww
        mul_sat_pp r7.w, r4.w, c5.y
        mad_pp r7.w, r7.w, c57.x, r4.w
        add_pp r8.x, -r4_abs.w, c0.z
        max_pp r9.x, r8.x, c4.y
        mul_sat_pp r5.w, r5.w, r9.x
        add r8.x, r6.w, c5.z
        log_pp r6.w, r6.w
        cmp_pp r6.w, r8.x, r6.w, c5.w
        mul_pp r6.w, r0.w, r6.w
        exp_pp r6.w, r6.w
        mul_pp r8.xyw, r3.w, c30.xyzz
        mov_sat r4.w, r4.w
        dp3_pp r3.w, r8.xyww, c6
        mul_pp r4.w, r4.w, r3.w
        mad_pp r9.x, r7.w, c1.x, c1.x
        add_pp r9.x, -r9.x, c0.z
        mov_pp r9.y, c1.x
        texld_pp r9, r9, s0
        mov_sat_pp r9.w, r7.w
        lrp_pp r11.xyz, r2.y, r9, r9.w
        mul_pp r9.xyz, r5.w, c56
        mov_sat_pp r7.w, -r7.w
        mul_pp r3.w, r3.w, r7.w
        mul_pp r3.w, r3.w, c57.x
        mul_pp r12.w, r3.w, c6.w
        mul_pp r9.xyz, r8.xyww, r9
        mad_pp r12.xyz, r8.xyww, r11, r9
        mul_pp r8.xyw, r6.w, r8
      else
        dp3_pp r3.w, r4, -c22
        mov_pp r9.x, c55.x
        mad_pp r9.xyz, r3, r9.x, -c22
        dp3_pp r5.w, r9, r3
        dp3_sat_pp r6.w, r5, -c22
        mul_sat_pp r7.w, r3.w, c5.y
        mad_pp r7.w, r7.w, c57.x, r3.w
        add_pp r9.x, -r3_abs.w, c0.z
        max_pp r11.x, r9.x, c4.y
        mul_sat_pp r5.w, r5.w, r11.x
        add r9.x, r6.w, c5.z
        log_pp r6.w, r6.w
        cmp_pp r6.w, r9.x, r6.w, c5.w
        mul_pp r6.w, r0.w, r6.w
        exp_pp r6.w, r6.w
        mov_sat r3.w, r3.w
        mov r9.xyz, c6
        dp3_pp r9.x, c30, r9
        mul_pp r4.w, r3.w, r9.x
        mad_pp r3.w, r7.w, c1.x, c1.x
        add_pp r11.x, -r3.w, c0.z
        mov_pp r11.y, c1.x
        texld_pp r11, r11, s0
        mov_sat_pp r3.w, r7.w
        lrp_pp r9.yzw, r2.y, r11.xxyz, r3.w
        mul_pp r11.xyz, r5.w, c56
        mov_sat_pp r7.w, -r7.w
        mul_pp r3.w, r9.x, r7.w
        mul_pp r3.w, r3.w, c57.x
        mul_pp r12.w, r3.w, c6.w
        mul_pp r11.xyz, r11, c30
        mad_pp r12.xyz, c30, r9.yzww, r11
        mul_pp r8.xyw, r6.w, c30.xyzz
      endif
    else
      if b11
        add r9.xyz, -c26, v2
        dp3 r3.w, r9, r9
        rsq r3.w, r3.w
        rcp_pp r5.w, r3.w
        pow r6.w, r5.w, c34.z
        add_pp r5.w, -r5.w, c34.w
        max_pp r7.w, r5.w, c5.x
        mul r5.w, r6.w, c34.w
        rcp r5.w, r5.w
        mul_pp r5.w, r7.w, r5.w
        mul_pp r9.xyz, r9, r3.w
        dp3_pp r3.w, r4, -r9
        mad_pp r11.xyz, r3, c55.x, -r9
        dp3_pp r6.w, r11, r3
        dp3_sat_pp r7.w, r5, -r9
        mul_sat_pp r9.x, r3.w, c5.y
        mad_pp r9.x, r9.x, c57.x, r3.w
        add_pp r9.y, -r3_abs.w, c0.z
        max_pp r11.x, r9.y, c4.y
        mul_sat_pp r6.w, r6.w, r11.x
        add r9.y, r7.w, c5.z
        log_pp r7.w, r7.w
        cmp_pp r7.w, r9.y, r7.w, c5.w
        mul_pp r7.w, r0.w, r7.w
        exp_pp r7.w, r7.w
        mul_pp r9.yzw, r5.w, c30.xxyz
        mov_sat r3.w, r3.w
        dp3_pp r5.w, r9.yzww, c6
        mul_pp r4.w, r3.w, r5.w
        mad_pp r3.w, r9.x, c1.x, c1.x
        add_pp r11.x, -r3.w, c0.z
        mov_pp r11.y, c1.x
        texld_pp r11, r11, s0
        mov_sat_pp r3.w, r9.x
        lrp_pp r13.xyz, r2.y, r11, r3.w
        mul_pp r11.xyz, r6.w, c56
        mov_sat_pp r9.x, -r9.x
        mul_pp r3.w, r5.w, r9.x
        mul_pp r3.w, r3.w, c57.x
        mul_pp r12.w, r3.w, c6.w
        mul_pp r11.xyz, r9.yzww, r11
        mad_pp r12.xyz, r9.yzww, r13, r11
        mul_pp r8.xyw, r7.w, r9.yzzw
      else
        mov_pp r12, c4.y
        mov_pp r8.xyw, c4.y
        mov_pp r4.w, c4.y
      endif
    endif
    add_pp r9, r10, r12
    add_pp r7.xyz, r7, r8.xyww
    add_pp r2.w, r2.w, r4.w
    if b12
      if b13
        add r8.xyw, -c27.xyzz, v2.xyzz
        dp3 r3.w, r8.xyww, r8.xyww
        rsq r3.w, r3.w
        rcp_pp r4.w, r3.w
        pow r5.w, r4.w, c35.z
        add_pp r4.w, -r4.w, c35.w
        max_pp r6.w, r4.w, c5.x
        mul r4.w, r5.w, c35.w
        rcp r4.w, r4.w
        mul_pp r4.w, r6.w, r4.w
        mul_pp r8.xyw, r8, r3.w
        dp3_pp r3.w, -c23, -r8.xyww
        add r3.w, r3.w, -c35.x
        add r5.w, -c35.x, c35.y
        rcp r5.w, r5.w
        mul_sat r3.w, r3.w, r5.w
        mul_pp r3.w, r4.w, r3.w
        dp3_pp r4.w, r4, -r8.xyww
        mad_pp r10.xyz, r3, c55.x, -r8.xyww
        dp3_pp r5.w, r10, r3
        dp3_sat_pp r6.w, r5, -r8.xyww
        mul_sat_pp r7.w, r4.w, c5.y
        mad_pp r7.w, r7.w, c57.x, r4.w
        add_pp r8.x, -r4_abs.w, c0.z
        max_pp r10.x, r8.x, c4.y
        mul_sat_pp r5.w, r5.w, r10.x
        add r8.x, r6.w, c5.z
        log_pp r6.w, r6.w
        cmp_pp r6.w, r8.x, r6.w, c5.w
        mul_pp r6.w, r0.w, r6.w
        exp_pp r6.w, r6.w
        mul_pp r8.xyw, r3.w, c31.xyzz
        mov_sat r4.w, r4.w
        dp3_pp r3.w, r8.xyww, c6
        mul_pp r4.w, r4.w, r3.w
        mad_pp r10.x, r7.w, c1.x, c1.x
        add_pp r10.x, -r10.x, c0.z
        mov_pp r10.y, c1.x
        texld_pp r10, r10, s0
        mov_sat_pp r10.w, r7.w
        lrp_pp r11.xyz, r2.y, r10, r10.w
        mul_pp r10.xyz, r5.w, c56
        mov_sat_pp r7.w, -r7.w
        mul_pp r3.w, r3.w, r7.w
        mul_pp r3.w, r3.w, c57.x
        mul_pp r12.w, r3.w, c6.w
        mul_pp r10.xyz, r8.xyww, r10
        mad_pp r12.xyz, r8.xyww, r11, r10
        mul_pp r8.xyw, r6.w, r8
      else
        dp3_pp r3.w, r4, -c23
        mov_pp r10.x, c55.x
        mad_pp r10.xyz, r3, r10.x, -c23
        dp3_pp r5.w, r10, r3
        dp3_sat_pp r6.w, r5, -c23
        mul_sat_pp r7.w, r3.w, c5.y
        mad_pp r7.w, r7.w, c57.x, r3.w
        add_pp r10.x, -r3_abs.w, c0.z
        max_pp r11.x, r10.x, c4.y
        mul_sat_pp r5.w, r5.w, r11.x
        add r10.x, r6.w, c5.z
        log_pp r6.w, r6.w
        cmp_pp r6.w, r10.x, r6.w, c5.w
        mul_pp r6.w, r0.w, r6.w
        exp_pp r6.w, r6.w
        mov_sat r3.w, r3.w
        mov r10.xyz, c6
        dp3_pp r10.x, c31, r10
        mul_pp r4.w, r3.w, r10.x
        mad_pp r3.w, r7.w, c1.x, c1.x
        add_pp r11.x, -r3.w, c0.z
        mov_pp r11.y, c1.x
        texld_pp r11, r11, s0
        mov_sat_pp r3.w, r7.w
        lrp_pp r10.yzw, r2.y, r11.xxyz, r3.w
        mul_pp r11.xyz, r5.w, c56
        mov_sat_pp r7.w, -r7.w
        mul_pp r3.w, r10.x, r7.w
        mul_pp r3.w, r3.w, c57.x
        mul_pp r12.w, r3.w, c6.w
        mul_pp r11.xyz, r11, c31
        mad_pp r12.xyz, c31, r10.yzww, r11
        mul_pp r8.xyw, r6.w, c31.xyzz
      endif
    else
      if b13
        add r10.xyz, -c27, v2
        dp3 r3.w, r10, r10
        rsq r3.w, r3.w
        rcp_pp r5.w, r3.w
        pow r6.w, r5.w, c35.z
        add_pp r5.w, -r5.w, c35.w
        max_pp r7.w, r5.w, c5.x
        mul r5.w, r6.w, c35.w
        rcp r5.w, r5.w
        mul_pp r5.w, r7.w, r5.w
        mul_pp r10.xyz, r10, r3.w
        dp3_pp r3.w, r4, -r10
        mad_pp r11.xyz, r3, c55.x, -r10
        dp3_pp r6.w, r11, r3
        dp3_sat_pp r7.w, r5, -r10
        mul_sat_pp r10.x, r3.w, c5.y
        mad_pp r10.x, r10.x, c57.x, r3.w
        add_pp r10.y, -r3_abs.w, c0.z
        max_pp r11.x, r10.y, c4.y
        mul_sat_pp r6.w, r6.w, r11.x
        add r10.y, r7.w, c5.z
        log_pp r7.w, r7.w
        cmp_pp r7.w, r10.y, r7.w, c5.w
        mul_pp r7.w, r0.w, r7.w
        exp_pp r7.w, r7.w
        mul_pp r10.yzw, r5.w, c31.xxyz
        mov_sat r3.w, r3.w
        dp3_pp r5.w, r10.yzww, c6
        mul_pp r4.w, r3.w, r5.w
        mad_pp r3.w, r10.x, c1.x, c1.x
        add_pp r11.x, -r3.w, c0.z
        mov_pp r11.y, c1.x
        texld_pp r11, r11, s0
        mov_sat_pp r3.w, r10.x
        lrp_pp r13.xyz, r2.y, r11, r3.w
        mul_pp r11.xyz, r6.w, c56
        mov_sat_pp r10.x, -r10.x
        mul_pp r3.w, r5.w, r10.x
        mul_pp r3.w, r3.w, c57.x
        mul_pp r12.w, r3.w, c6.w
        mul_pp r11.xyz, r10.yzww, r11
        mad_pp r12.xyz, r10.yzww, r13, r11
        mul_pp r8.xyw, r7.w, r10.yzzw
      else
        mov_pp r12, c4.y
        mov_pp r8.xyw, c4.y
        mov_pp r4.w, c4.y
      endif
    endif
    add_pp r9, r9, r12
    add_pp r7.xyz, r7, r8.xyww
    add_pp r2.w, r2.w, r4.w
    if b14
      if b15
        add r8.xyw, -c28.xyzz, v2.xyzz
        dp3 r3.w, r8.xyww, r8.xyww
        rsq r3.w, r3.w
        rcp_pp r4.w, r3.w
        pow r5.w, r4.w, c36.z
        add_pp r4.w, -r4.w, c36.w
        max_pp r6.w, r4.w, c5.x
        mul r4.w, r5.w, c36.w
        rcp r4.w, r4.w
        mul_pp r4.w, r6.w, r4.w
        mul_pp r8.xyw, r8, r3.w
        dp3_pp r3.w, -c24, -r8.xyww
        add r3.w, r3.w, -c36.x
        add r5.w, -c36.x, c36.y
        rcp r5.w, r5.w
        mul_sat r3.w, r3.w, r5.w
        mul_pp r3.w, r4.w, r3.w
        dp3_pp r4.w, r4, -r8.xyww
        mad_pp r10.xyz, r3, c55.x, -r8.xyww
        dp3_pp r5.w, r10, r3
        dp3_sat_pp r6.w, r5, -r8.xyww
        mul_sat_pp r7.w, r4.w, c5.y
        mad_pp r7.w, r7.w, c57.x, r4.w
        add_pp r8.x, -r4_abs.w, c0.z
        max_pp r10.x, r8.x, c4.y
        mul_sat_pp r5.w, r5.w, r10.x
        add r8.x, r6.w, c5.z
        log_pp r6.w, r6.w
        cmp_pp r6.w, r8.x, r6.w, c5.w
        mul_pp r6.w, r0.w, r6.w
        exp_pp r6.w, r6.w
        mul_pp r8.xyw, r3.w, c32.xyzz
        mov_sat r4.w, r4.w
        dp3_pp r3.w, r8.xyww, c6
        mul_pp r4.w, r4.w, r3.w
        mad_pp r10.x, r7.w, c1.x, c1.x
        add_pp r10.x, -r10.x, c0.z
        mov_pp r10.y, c1.x
        texld_pp r10, r10, s0
        mov_sat_pp r10.w, r7.w
        lrp_pp r11.xyz, r2.y, r10, r10.w
        mul_pp r10.xyz, r5.w, c56
        mov_sat_pp r7.w, -r7.w
        mul_pp r3.w, r3.w, r7.w
        mul_pp r3.w, r3.w, c57.x
        mul_pp r12.w, r3.w, c6.w
        mul_pp r10.xyz, r8.xyww, r10
        mad_pp r12.xyz, r8.xyww, r11, r10
        mul_pp r8.xyw, r6.w, r8
      else
        dp3_pp r3.w, r4, -c24
        mov_pp r10.x, c55.x
        mad_pp r10.xyz, r3, r10.x, -c24
        dp3_pp r5.w, r10, r3
        dp3_sat_pp r6.w, r5, -c24
        mul_sat_pp r7.w, r3.w, c5.y
        mad_pp r7.w, r7.w, c57.x, r3.w
        add_pp r10.x, -r3_abs.w, c0.z
        max_pp r11.x, r10.x, c4.y
        mul_sat_pp r5.w, r5.w, r11.x
        add r10.x, r6.w, c5.z
        log_pp r6.w, r6.w
        cmp_pp r6.w, r10.x, r6.w, c5.w
        mul_pp r6.w, r0.w, r6.w
        exp_pp r6.w, r6.w
        mov_sat r3.w, r3.w
        mov r10.xyz, c6
        dp3_pp r10.x, c32, r10
        mul_pp r4.w, r3.w, r10.x
        mad_pp r3.w, r7.w, c1.x, c1.x
        add_pp r11.x, -r3.w, c0.z
        mov_pp r11.y, c1.x
        texld_pp r11, r11, s0
        mov_sat_pp r3.w, r7.w
        lrp_pp r10.yzw, r2.y, r11.xxyz, r3.w
        mul_pp r11.xyz, r5.w, c56
        mov_sat_pp r7.w, -r7.w
        mul_pp r3.w, r10.x, r7.w
        mul_pp r3.w, r3.w, c57.x
        mul_pp r12.w, r3.w, c6.w
        mul_pp r11.xyz, r11, c32
        mad_pp r12.xyz, c32, r10.yzww, r11
        mul_pp r8.xyw, r6.w, c32.xyzz
      endif
    else
      if b15
        add r10.xyz, -c28, v2
        dp3 r3.w, r10, r10
        rsq r3.w, r3.w
        rcp_pp r5.w, r3.w
        pow r6.w, r5.w, c36.z
        add_pp r5.w, -r5.w, c36.w
        max_pp r7.w, r5.w, c5.x
        mul r5.w, r6.w, c36.w
        rcp r5.w, r5.w
        mul_pp r5.w, r7.w, r5.w
        mul_pp r10.xyz, r10, r3.w
        dp3_pp r3.w, r4, -r10
        mad_pp r4.xyz, r3, c55.x, -r10
        dp3_pp r3.x, r4, r3
        dp3_sat_pp r3.y, r5, -r10
        mul_sat_pp r3.z, r3.w, c5.y
        mad_pp r3.z, r3.z, c57.x, r3.w
        add_pp r4.x, -r3_abs.w, c0.z
        max_pp r5.x, r4.x, c4.y
        mul_sat_pp r3.x, r3.x, r5.x
        add r4.x, r3.y, c5.z
        log_pp r3.y, r3.y
        cmp_pp r3.y, r4.x, r3.y, c5.w
        mul_pp r0.w, r0.w, r3.y
        exp_pp r0.w, r0.w
        mul_pp r4.xyz, r5.w, c32
        mov_sat r3.w, r3.w
        dp3_pp r3.y, r4, c6
        mul_pp r4.w, r3.w, r3.y
        mad_pp r3.w, r3.z, c1.x, c1.x
        add_pp r5.x, -r3.w, c0.z
        mov_pp r5.y, c1.x
        texld_pp r5, r5, s0
        mov_sat_pp r3.w, r3.z
        lrp_pp r10.xyz, r2.y, r5, r3.w
        mul_pp r5.xyz, r3.x, c56
        mov_sat_pp r3.z, -r3.z
        mul_pp r2.y, r3.y, r3.z
        mul_pp r2.y, r2.y, c57.x
        mul_pp r12.w, r2.y, c6.w
        mul_pp r3.xyz, r4, r5
        mad_pp r12.xyz, r4, r10, r3
        mul_pp r8.xyw, r0.w, r4.xyzz
      else
        mov_pp r12, c4.y
        mov_pp r8.xyw, c4.y
        mov_pp r4.w, c4.y
      endif
    endif
    add_pp r3, r9, r12
    add_pp r4.xyz, r7, r8.xyww
    add_pp r0.w, r2.w, r4.w
    mul_pp r1.yzw, r1, r4.xxyz
    add_sat_pp r2.y, -r3.w, c0.z
    mul_pp r4.xyz, r6, r2.y
    mad_pp r0.xyz, r3, r0, r4
    lrp_sat_pp r3.x, r2.x, r8.z, c74.x
    mul_pp r1.yzw, r1, r3.x
    mov r3.xyz, c6
    dp3_pp r2.x, c53, r3
    max_pp r3.xyz, r0, c7.x
    rsq_pp r0.x, r3.x
    rsq_pp r0.y, r3.y
    rsq_pp r0.z, r3.z
    rcp_pp r3.x, r0.x
    rcp_pp r3.y, r0.y
    rcp_pp r3.z, r0.z
    max_pp r0.xyz, r1.yzww, c7.x
    rsq_pp r0.x, r0.x
    rsq_pp r0.y, r0.y
    rsq_pp r0.z, r0.z
    rcp_pp r4.x, r0.x
    rcp_pp r4.y, r0.y
    rcp_pp r4.z, r0.z
    mul_pp r0.xyz, r4, v0
    mad_pp r0.xyz, v0, r3, r0
    mad_pp r3.x, r2.z, c7.y, c7.z
    mov_pp r3.y, c1.x
    texld_pp r4, r3, s1
    mov_sat_pp r4.xyz, r4
    mul_pp r1.yzw, r4.xxyz, v0.xxyz
    mul_pp r1.yzw, r1, c54.x
    mad_pp r0.w, r0.w, c7.w, r2.x
    mad_pp r0.xyz, r1.yzww, r0.w, r0
    texld_pp r2, r3, s8
    mov_sat_pp r2.xyz, r2
    mul_pp r1.yzw, r2.xxyz, v0.xxyz
    mad_pp r0.xyz, r1.yzww, c83, r0
    min_pp r1.yzw, c81.x, r0.xxyz
    min_sat_pp r0.x, c75.w, v5.w
    lrp_pp r2.xyz, r0.x, c75, r1.yzww
    mov_pp r2.w, r1.x
    mul_pp r0, r2, c87
    mad_pp r0.xyz, r0, c72.x, c72.y
    mul_pp oC0.xyz, r0, c72.z
    mov_pp oC0.w, r0.w
	// disable
	 mov oC0.xyzw, c4.yyyy
// approximately 799 instruction slots used (28 texture, 771 arithmetic)
 